package com.modelo.dao.documento;

import java.util.List;

import com.comun.filtro.FiltroLista;
import com.modelo.dao.comun.BaseDAO;
import com.modelo.entity.Documento;

/**
 * Interfaz para el manejo del DocumentoDAO.
 * 
 * @author David
 * 
 */
public interface IDocumentoDAO extends BaseDAO<Documento> {
	/**
	 * Nos devuelve todos las empresas que coincidan con el valor de dicha
	 * columna.
	 * 
	 * @param propertyName
	 * @param value
	 * @return List<Documento>
	 */
	List<Documento> findByProperty(String propertyName, Object value);

	/**
	 * Nos devuelve los documentos activos.
	 * 
	 * @param filtro
	 * @return List<Documento>
	 * 
	 * 
	 */
	List<Documento> getDocumentosActivos(FiltroLista filtro);

	/**
	 * Devuelve una lista de documentos activos a excepcion de los pasados por
	 * paramentro.
	 * 
	 * @param listaDoc
	 * @return List<Documento>
	 */
	List<Documento> getDocumentosActivosAExcepcion(List<Documento> listaDoc);

	/**
	 * Devuelve el numero total de documentos en BBDD, se utiliza para las
	 * listas de carga vaga.
	 * 
	 * @return int
	 */
	@Override
	int getTotal();

}
